package com.hengxinguotong.hxgtwygsp.ui.revenue;

import com.hengxinguotong.hxgtwygsp.ui.app.ActivityScoped;
import com.hengxinguotong.hxgtwygsp.ui.app.FragmentScoped;
import com.hengxinguotong.hxgtwygsp.ui.revenue.allocate.AllocateContract;
import com.hengxinguotong.hxgtwygsp.ui.revenue.allocate.AllocateFragment;
import com.hengxinguotong.hxgtwygsp.ui.revenue.allocate.AllocatePresenter;
import com.hengxinguotong.hxgtwygsp.ui.revenue.budget.BudgetContract;
import com.hengxinguotong.hxgtwygsp.ui.revenue.budget.BudgetFragment;
import com.hengxinguotong.hxgtwygsp.ui.revenue.budget.BudgetPresenter;

import dagger.Binds;
import dagger.Module;
import dagger.android.ContributesAndroidInjector;

/**
 * TODO
 *
 * @author hjz
 * @version V1.0.0
 * @since 2019/3/27 9:50
 */

@Module
public abstract class RevenueModule
{
    @FragmentScoped
    @ContributesAndroidInjector
    abstract BudgetFragment bindsBudgetFragment();

    @FragmentScoped
    @ContributesAndroidInjector
    abstract AllocateFragment bindsAllocateFragment();

    @ActivityScoped
    @Binds
    abstract BudgetContract.IPresenter bindsBudgetPresenter(BudgetPresenter budgetPresenter);

    @ActivityScoped
    @Binds
    abstract AllocateContract.IPresenter bindsAllocatePresenter(AllocatePresenter allocatePresenter);
}
